package com.mypro._01base.mapper;

/**
 * @author user_xdd
 * @Date 2022-05-05 10:34
 * @description
 * @return
 */

import com.mypro._01base.entity.Users;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * users的Mapper 接口 包含针对具体实体类需要的 增删改查 接口方法
 */
public interface UsersMapper {
    /**
     * 返回所有的user对象
     */
    public List<Users> getallUsers();
    //-------------------------------传入参数 -------------------------------
    public Users queryByPrimaryKey(Integer user_id);
    //-------------------------------增删改查 -------------------------------

    //添加数据
    public boolean addUsers(Users user);
    //修改数据
    public boolean changeUsers(Users user);

    //删除数据
    public boolean deleteUsers(Integer user_id);
    //-------------------------------其他返回类型 -------------------------------
    //查询结果为单列
    //查询所有职员姓名
    public List<String> queryAllUsersName();

    //查询结果为单个数据
    public Integer getcunt();
    //查询结果为多列（不封装为entity对象 每行结果封装为一个Map 列名为key  值为value）
    public List<Map<String, Object>> getNamePhoneEmail();


    //-------------------------------3.使用参数 -------------------------------
    //@Param("xxxx") Mybatis就会将方法的多个参数合并成一个Map集合

    /**
     * 测试param注解
     * @return
     */
        public Users getallusersByid(@Param("id")Integer id);
    //-------------------------------分组 -------------------------------
    //查询中运用连接 聚合 分组 ....
    //查询结果排序 limit
}
